package main

import (
	"fmt"
	"go-code/project11/main/"
)

type CustomerView struct {
	key             string
	loop            bool
	customerService *CustomerService
}

func (this *CustomerView) list() {
	//首先，获取到当前所有的客户信息(在切片中)
	customers := this.customerService.List()
	fmt.Println("---------------------------客户列表---------------------------")
	fmt.Println("编号\t 姓名\t 性别\t 年龄\t 电话\t 邮箱")
	for i := 0; i < len(customers); i++ {
		// fmt.Println(customers[i].Id, "\t", customers[i].Name...)
		fmt.Println(customers[i].GetInfo())
	}
	fmt.Printf("\n-------------------------客户列表完成-------------------------\n\n")
}

func (this *CustomerView) mainMenu() {
	for {
		fmt.Println("-----------------客户信息管理软件-----------------")
		fmt.Println(" 1 添 加 客 户")
		fmt.Println(" 2 修 改 客 户")
		fmt.Println(" 3 删 除 客 户")
		fmt.Println(" 4 客 户 列 表")
		fmt.Println(" 5 退 出")
		fmt.Print("请选择(1-5)：")

		fmt.Scanln(&this.key)
		switch this.key {
		case "1":
			fmt.Println("添加客户")
		case "2":
			fmt.Println("修改客户")
		case "3":
			fmt.Println("删除客户")
		case "4":
			this.list()
		case "5":
			this.loop = false
		default:
			fmt.Println("你的输入有误，请重新输入...")
		}

		if !this.loop {
			break
		}
	}

	fmt.Println("退出")
}

func main() {
	customerView := CustomerView{
		key:  "",
		loop: true,
	}

	//这里完成对 customerView 结构体的 customerService 字段的初始化
	customerView.customerService = NewCustomerService()
	customerView.mainMenu()
}
